//1143 最长的公共子序列长度
/*
给定两个字符串，求它们最长的公共子序列长度
输入输出样例
	输入是两个字符串，输出是一个整数，表示它们满足题目条件的长度

Input: text1 = "abcde", text2 = "ace"
Output: 3
*/
int longestCommonSubsequence(string text1, string text2)
{
	int m = text1.length(), n = text2.length();
	vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));
	for (int i = 1; i <= m; ++i)
	{
		for (int j = 1; j <= n; ++j)
		{
			if (text1[i - 1] == text2[j - 1])
			{
				dp[i][j] = dp[i - 1][j - 1] + 1;
			}
			else
			{
				dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
			}
		}
	}
	return dp[m][n];
}
